//#include <stdio.h>
//#include <string.h>
//
//// 非递归（迭代）方式实现strlen
//int my_strlen_iterative(const char *str) {
//    int length = 0;
//    // 遍历字符串直到遇到结束符'\0'
//    while (str[length] != '\0') {
//        length++;
//    }
//    return length;
//}
//
//// 递归方式实现strlen
//int my_strlen_recursive(const char *str) {
//    // 递归终止条件：如果当前字符是结束符，返回0
//    if (*str == '\0') {
//        return 0;
//    }
//    // 否则递归计算剩余字符串长度并加1
//    return 1 + my_strlen_recursive(str + 1);
//}
//
//int main() {
//    char str[1000];  // 定义足够大的字符数组存储输入
//    
//    printf("请输入一个字符串：");
//    // 使用fgets读取字符串，支持含空格的输入
//    // 最多读取999个字符（留一个位置给结束符'\0'）
//    if (fgets(str, sizeof(str), stdin) != NULL) {
//        // 去除fgets可能带回的换行符
//        str[strcspn(str, "\n")] = '\0';
//        
//        // 测试非递归版本
//        int len1 = my_strlen_iterative(str);
//        printf("非递归方式计算长度: %d\n", len1);
//        
//        // 测试递归版本
//        int len2 = my_strlen_recursive(str);
//        printf("递归方式计算长度: %d\n", len2);
//    } else {
//        printf("输入失败！\n");
//    }
//    
//    return 0;
//}
//
